<?php 



/**
 * ProyectosdcController
 * 
 * @package   
 * @author sgit_development
 * @copyright Juan Manuel Martinez Carrillo
 * @version 2012
 * @access public
 */
 
 /**
  * 
  * SuperUser tiene acceso a todo,
  * Prl tiene activado filtro solo prl=1
  * Gma tiene activado filtro solo gma=1
  * Solo los usuarios con acceso tiene activo el enlace (grupo acceso, superuser,prl,gma)
  * 
  * 
  */
 
 
class ProyectosdcCapexDetalleController extends Sgit_Controller_Action
{

    
    protected $_main_model='ProyectosDCEconomico';
    protected $_main_form='ProyectosDCCapexDetalle';


    function _begin(){

        $this->id_proyecto=$this->_getParam('id_proyecto');
        $this->view->id_proyecto=$this->id_proyecto;

        if (!$this->id_proyecto)
        {
            throw new Zend_Controller_Exception(sprintf('ID Proyecto is required for %s', $this->_controllerName . ':' . $this->_actionName));
        }
    }
    

	public function indexAction()
    {
    

    
        $conceptos = $this->_model->default->getConceptos($this->id_proyecto);
        
        
        $this->_loadModel('ProyectosDC');
        
        $this->view->proyecto = $this->_model->ProyectosDC->GetProyecto($this->id_proyecto);
        


        foreach($conceptos as $v){

            $rows=  $this->_model->default->getImportes($this->id_proyecto,$v);
        
        
            foreach($rows as $t){
                $fecha=new Zend_Date($t['fecha'],Zend_Date::ISO_8601);
                
                $key=$t['anio'].str_pad($t['mes'],2,'0',STR_PAD_LEFT);
                $fechas[$key]['fechas']=$fecha->toString('MMM-YYYY');
                $fechas[$key]['importes']+=$t['importe'];
                
                $filas['conceptos'][$v][$key]['fecha']=$fecha->toString('MMM-YYYY');
                $filas['conceptos'][$v][$key]['importe']=$t['importe'];
                $filas['conceptos'][$v][$key]['id']=$t['id'];
                $filas['conceptos'][$v][$key]['comprometido']=$t['comprometido'];
                
                if($t['comprometido']){
                    $sumas_1[$v]+=$t['importe'];
                    $suma_1+=$t['importe'];
                }else{
                    $sumas_0[$v]+=$t['importe'];
                    $suma_0+=$t['importe'];
                }
                
                $sumas[$v]+=$t['importe'];
                $suma+=$t['importe'];

            }
            
            $filas['conceptos'][$v]['suma']=$sumas[$v];
            $filas['conceptos'][$v]['suma_0']=$sumas_0[$v];
            $filas['conceptos'][$v]['suma_1']=$sumas_1[$v];
            
        }
        if(is_array($fechas))  ksort($fechas);
        $filas['suma']=$suma;
        $filas['suma_0']=$suma_0;
        $filas['suma_1']=$suma_1;

        $filas['fechas']=$fechas;
        $this->view->rows=$filas;
        


    }
    


    
    
    public function insertarAction()
    {
        
        
        $conceptos['source'] =$this->_model->default->getConceptos($this->id_proyecto);
        $this->view->conceptos= json_encode($conceptos);
        
        $this->_reload();
    	$this->_insertar();
    }
    

    
    public function editarAction()
    {
        $conceptos['source'] =$this->_model->default->getConceptos($this->id_proyecto);
        $this->view->conceptos= json_encode($conceptos);
        
        $this->_reload();
        $this->_editar();
    }


    protected function _prepareValuesToDb()
    {
        $importe=$this->_getParam('importe');
        $id=$this->_getParam('id');
        
        $row=$this->_form->getValues();
        $row['fecha']=Sgit_Filter_DateToDb::filter($row['fecha']);
        $row['id_proyecto']=$this->id_proyecto;
        
        
        if($id && !is_numeric($importe)){
            $this->_model->default->deleteRow($id);
            
            $json['status'] = 'reload';
            $this->_helper->json($json);
        }

        return $row;
    }
    
    
    protected function _prepareValuesToForm($row)
    {
        $row['fecha']=   Sgit_Filter_DateDbToForm::filter($row['fecha']);
        return $row;
    }

        
        
   	
    

    
    
    
}




